package com.study.mybatisplus.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * <p>
 * 礼物
 * </p>
 *
 * @author flwu
 * @since 2020-03-20
 */
@TableName("tbl_present")
public class Present implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 明信片ID，0表示随意主题
     */
    private Long postcardId;

    /**
     * 明信片标题
     */
    private String postcardTitle;

    /**
     * 明信片描述
     */
    private String postcardDescribe;

    /**
     * 明信片价格（消耗金币）
     */
    private Long postcardCoin;

    /**
     * 明信片发行数量
     */
    private Long postcardPublishCount;

    /**
     * 明信片视频ID或图片ID
     */
    private Long postcardResourceId;

    /**
     * 明信片资源类型，1：视频；2：图片
     */
    private Boolean postcardResourceType;

    /**
     * 明信片资源地址
     */
    private String postcardResourceUrl;

    /**
     * 明信片封面地址
     */
    private String postcardCoverUrl;

    /**
     * 明信片作者
     */
    private String postcardAuthor;

    /**
     * 明信片序号
     */
    private Long postcardSerialNumber;

    /**
     * 明信片发行时间
     */
    private LocalDateTime postcardCreateDatetime;

    /**
     * 邮票ID
     */
    private Long stampId;

    /**
     * 邮票标题
     */
    private String stampTitle;

    /**
     * 邮票描述
     */
    private String stampDescribe;

    /**
     * 邮票价格（消耗金币）
     */
    private Long stampCoin;

    /**
     * 邮票发行数量
     */
    private Long stampPublishCount;

    /**
     * 邮票图片地址
     */
    private String stampPictureUrl;

    /**
     * 邮票作者
     */
    private String stampAuthor;

    /**
     * 邮票序号
     */
    private Long stampSerialNumber;

    /**
     * 邮票发行时间
     */
    private LocalDateTime stampCreateDatetime;

    /**
     * 明信片城市
     */
    private String city;

    /**
     * 接收人名称
     */
    private String toName;

    /**
     * 内容
     */
    private String content;

    /**
     * 是否上架
     */
    private Boolean isUp;

    /**
     * 来源，1：首页；2：访客页；3：系统赠送
     */
    private Boolean origin;

    /**
     * 下架原因
     */
    private String downReason;

    /**
     * 操作人
     */
    private String operator;

    /**
     * 评论数
     */
    private Long commentCount;

    /**
     * 权重
     */
    private Integer weight;

    /**
     * 邮戳图片地址
     */
    private String postmarkUrl;

    /**
     * 小程序二维码地址
     */
    private String qrCodeUrl;

    /**
     * 状态[1:未发送；2：已发送]
     */
    private Boolean status;

    /**
     * 创建时间
     */
    private LocalDateTime createDatetime;

    /**
     * 最后更新时间
     */
    private LocalDateTime updateDatetime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
    public Long getPostcardId() {
        return postcardId;
    }

    public void setPostcardId(Long postcardId) {
        this.postcardId = postcardId;
    }
    public String getPostcardTitle() {
        return postcardTitle;
    }

    public void setPostcardTitle(String postcardTitle) {
        this.postcardTitle = postcardTitle;
    }
    public String getPostcardDescribe() {
        return postcardDescribe;
    }

    public void setPostcardDescribe(String postcardDescribe) {
        this.postcardDescribe = postcardDescribe;
    }
    public Long getPostcardCoin() {
        return postcardCoin;
    }

    public void setPostcardCoin(Long postcardCoin) {
        this.postcardCoin = postcardCoin;
    }
    public Long getPostcardPublishCount() {
        return postcardPublishCount;
    }

    public void setPostcardPublishCount(Long postcardPublishCount) {
        this.postcardPublishCount = postcardPublishCount;
    }
    public Long getPostcardResourceId() {
        return postcardResourceId;
    }

    public void setPostcardResourceId(Long postcardResourceId) {
        this.postcardResourceId = postcardResourceId;
    }
    public Boolean getPostcardResourceType() {
        return postcardResourceType;
    }

    public void setPostcardResourceType(Boolean postcardResourceType) {
        this.postcardResourceType = postcardResourceType;
    }
    public String getPostcardResourceUrl() {
        return postcardResourceUrl;
    }

    public void setPostcardResourceUrl(String postcardResourceUrl) {
        this.postcardResourceUrl = postcardResourceUrl;
    }
    public String getPostcardCoverUrl() {
        return postcardCoverUrl;
    }

    public void setPostcardCoverUrl(String postcardCoverUrl) {
        this.postcardCoverUrl = postcardCoverUrl;
    }
    public String getPostcardAuthor() {
        return postcardAuthor;
    }

    public void setPostcardAuthor(String postcardAuthor) {
        this.postcardAuthor = postcardAuthor;
    }
    public Long getPostcardSerialNumber() {
        return postcardSerialNumber;
    }

    public void setPostcardSerialNumber(Long postcardSerialNumber) {
        this.postcardSerialNumber = postcardSerialNumber;
    }
    public LocalDateTime getPostcardCreateDatetime() {
        return postcardCreateDatetime;
    }

    public void setPostcardCreateDatetime(LocalDateTime postcardCreateDatetime) {
        this.postcardCreateDatetime = postcardCreateDatetime;
    }
    public Long getStampId() {
        return stampId;
    }

    public void setStampId(Long stampId) {
        this.stampId = stampId;
    }
    public String getStampTitle() {
        return stampTitle;
    }

    public void setStampTitle(String stampTitle) {
        this.stampTitle = stampTitle;
    }
    public String getStampDescribe() {
        return stampDescribe;
    }

    public void setStampDescribe(String stampDescribe) {
        this.stampDescribe = stampDescribe;
    }
    public Long getStampCoin() {
        return stampCoin;
    }

    public void setStampCoin(Long stampCoin) {
        this.stampCoin = stampCoin;
    }
    public Long getStampPublishCount() {
        return stampPublishCount;
    }

    public void setStampPublishCount(Long stampPublishCount) {
        this.stampPublishCount = stampPublishCount;
    }
    public String getStampPictureUrl() {
        return stampPictureUrl;
    }

    public void setStampPictureUrl(String stampPictureUrl) {
        this.stampPictureUrl = stampPictureUrl;
    }
    public String getStampAuthor() {
        return stampAuthor;
    }

    public void setStampAuthor(String stampAuthor) {
        this.stampAuthor = stampAuthor;
    }
    public Long getStampSerialNumber() {
        return stampSerialNumber;
    }

    public void setStampSerialNumber(Long stampSerialNumber) {
        this.stampSerialNumber = stampSerialNumber;
    }
    public LocalDateTime getStampCreateDatetime() {
        return stampCreateDatetime;
    }

    public void setStampCreateDatetime(LocalDateTime stampCreateDatetime) {
        this.stampCreateDatetime = stampCreateDatetime;
    }
    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }
    public String getToName() {
        return toName;
    }

    public void setToName(String toName) {
        this.toName = toName;
    }
    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
    public Boolean getUp() {
        return isUp;
    }

    public void setUp(Boolean isUp) {
        this.isUp = isUp;
    }
    public Boolean getOrigin() {
        return origin;
    }

    public void setOrigin(Boolean origin) {
        this.origin = origin;
    }
    public String getDownReason() {
        return downReason;
    }

    public void setDownReason(String downReason) {
        this.downReason = downReason;
    }
    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }
    public Long getCommentCount() {
        return commentCount;
    }

    public void setCommentCount(Long commentCount) {
        this.commentCount = commentCount;
    }
    public Integer getWeight() {
        return weight;
    }

    public void setWeight(Integer weight) {
        this.weight = weight;
    }
    public String getPostmarkUrl() {
        return postmarkUrl;
    }

    public void setPostmarkUrl(String postmarkUrl) {
        this.postmarkUrl = postmarkUrl;
    }
    public String getQrCodeUrl() {
        return qrCodeUrl;
    }

    public void setQrCodeUrl(String qrCodeUrl) {
        this.qrCodeUrl = qrCodeUrl;
    }
    public Boolean getStatus() {
        return status;
    }

    public void setStatus(Boolean status) {
        this.status = status;
    }
    public LocalDateTime getCreateDatetime() {
        return createDatetime;
    }

    public void setCreateDatetime(LocalDateTime createDatetime) {
        this.createDatetime = createDatetime;
    }
    public LocalDateTime getUpdateDatetime() {
        return updateDatetime;
    }

    public void setUpdateDatetime(LocalDateTime updateDatetime) {
        this.updateDatetime = updateDatetime;
    }

    @Override
    public String toString() {
        return "Present{" +
            "id=" + id +
            ", userId=" + userId +
            ", postcardId=" + postcardId +
            ", postcardTitle=" + postcardTitle +
            ", postcardDescribe=" + postcardDescribe +
            ", postcardCoin=" + postcardCoin +
            ", postcardPublishCount=" + postcardPublishCount +
            ", postcardResourceId=" + postcardResourceId +
            ", postcardResourceType=" + postcardResourceType +
            ", postcardResourceUrl=" + postcardResourceUrl +
            ", postcardCoverUrl=" + postcardCoverUrl +
            ", postcardAuthor=" + postcardAuthor +
            ", postcardSerialNumber=" + postcardSerialNumber +
            ", postcardCreateDatetime=" + postcardCreateDatetime +
            ", stampId=" + stampId +
            ", stampTitle=" + stampTitle +
            ", stampDescribe=" + stampDescribe +
            ", stampCoin=" + stampCoin +
            ", stampPublishCount=" + stampPublishCount +
            ", stampPictureUrl=" + stampPictureUrl +
            ", stampAuthor=" + stampAuthor +
            ", stampSerialNumber=" + stampSerialNumber +
            ", stampCreateDatetime=" + stampCreateDatetime +
            ", city=" + city +
            ", toName=" + toName +
            ", content=" + content +
            ", isUp=" + isUp +
            ", origin=" + origin +
            ", downReason=" + downReason +
            ", operator=" + operator +
            ", commentCount=" + commentCount +
            ", weight=" + weight +
            ", postmarkUrl=" + postmarkUrl +
            ", qrCodeUrl=" + qrCodeUrl +
            ", status=" + status +
            ", createDatetime=" + createDatetime +
            ", updateDatetime=" + updateDatetime +
        "}";
    }
}
